Computer nodes may communicate with each other via one or more communication networks. Each node may function as a transmitting (source) and receiving (destination) device in order to exchange data and/or commands with each other using different communication protocols. Data and/or commands may be divided by the communication protocol into smaller packets of information for more efficient routing. Each packet may have a particular format and size.
A switch may be utilized to facilitate communication within and between networks by routing packets between computer nodes. As the quantity and speed of communications increase, the throughput requirement of such switches also continues to grow. At the same time, there is a drive to reduce power consumption in switches. However, reducing power consumption can be a limiting factor on the throughput of the switch.
For instance, one conventional method of reducing the overall power consumption of the switch is to design the switch architecture for a designed header rate less than the peak header rate. Despite reduced power consumption, this conventional switch architecture cannot support traffic at a desired peak header rate. Therefore, if incoming packet traffic to the switch increased to this peak header rate, the switch may drop packets leading to degradation in switch performance. Furthermore, this conventional switch architecture is static in nature and as such lacks flexibility to take into account varying circumstances such as packet arrival rates to the switch.